﻿//
// ViewModelLocator.cs
//
// Authors:
//    Anders Gade Nørskov <09549@iha.dk
//    Lars Rønde Hansen <09548@iha.dk>
//    Claus Jørgensen <10229@iha.dk>
//
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using StructureMap;
using System.ComponentModel;

namespace RSD.ViewModel
{
    /// <summary>
    /// ViewModel locator.
    /// </summary>
    public class ViewModelLocator
    {
        /// <summary>
        /// Creates or finds the default instance of MainViewModel.
        /// </summary>
        /// <value>Instance of MainViewModel.</value>
        public static MainViewModel MainViewModel
        {
            get
            {
                return ObjectFactory.GetInstance<MainViewModel>();
            }
        }

        /// <summary>
        /// Creates or finds the default instance of ProgrammerViewModel.
        /// </summary>
        /// <value>Instance of ProgrammerViewModel.</value>
        public static ProgrammerViewModel ProgrammerViewModel
        {
            get
            {
                return ObjectFactory.GetInstance<ProgrammerViewModel>();
            }
        }

        /// <summary>
        /// Creates or finds the default instance of InventoryViewModel.
        /// </summary>
        /// <value>Instance of InventoryViewModel.</value>
        public static InventoryViewModel InventoryViewModel
        {
            get
            {
                return ObjectFactory.GetInstance<InventoryViewModel>();
            }
        }

        /// <summary>
        /// Creates or finds the default instance of LogOnViewModel.
        /// </summary>
        /// <value>Instance of LogViewModel.</value>
        public static LogOnViewModel LogOnViewModel
        {
            get
            {
                return ObjectFactory.GetInstance<LogOnViewModel>();
            }
        }

        /// <summary>
        /// Creates or finds the default instance of CreatePositionViewModel.
        /// </summary>
        /// <value>Instance of CreatePositionViewModel.</value>
        public static CreatePositionViewModel CreatePositionViewModel
        {
            get
            {
                return ObjectFactory.GetInstance<CreatePositionViewModel>();
            }
        }

        /// <summary>
        /// Creates or finds the default instance of CreateItemClassificationViewModel.
        /// </summary>
        /// <value>Instance of CreateItemClassificationViewModel.</value>
        public static CreateItemClassificationViewModel CreateItemClassificationViewModel
        {
            get
            {
                return ObjectFactory.GetInstance<CreateItemClassificationViewModel>();
            }
        }

        /// <summary>
        /// Creates or finds the default instance of OperatorViewModel.
        /// </summary>
        /// <value>Instance of WorkerViewModel.</value>
        public static OperatorViewModel OperatorViewModel
        {
            get
            {
                return ObjectFactory.GetInstance<OperatorViewModel>();
            }
        }

        /// <summary>
        /// Creates or finds the default instance of AdminViewModel.
        /// </summary>
        /// <value>Instance of AdminViewModel.</value>
        public static AdminViewModel AdminViewModel
        {
            get
            {
                return ObjectFactory.GetInstance<AdminViewModel>();
            }
        }

        /// <summary>
        /// Creates or finds the default instance of CreateUserViewModel.
        /// </summary>
        /// <value>Instance of CreateUserViewModel.</value>
        public static CreateUserViewModel CreateUserViewModel
        {
            get
            {
                return ObjectFactory.GetInstance<CreateUserViewModel>();
            }
        }
    }
}
